██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Handshake (informatica)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In mwbainformatica l'handshaking (letteralmente "stretta di mano") è il processo attraverso il quale due mwbqcalcolatori, tramite mwbgsoftware o mwbwhardware, negoziano e stabiliscono le regole comuni, ovvero la mwcavelocità, i protocolli di compressione, di mwcgcriptazione, di mwcwcontrollo degli errori, ecc.
Prima di iniziare la connessione vera e propria tra due macchine si crea questo tipo di connessione che consiste nella trasmissione dei pacchetti per regolare i parametri di connessione.
L'handshaking può negoziare parametri accettabili per apparecchiature e sistemi a entrambe le estremità del canale di comunicazione, inclusa la velocità di trasferimento delle informazioni, l'alfabeto di codifica, la parità, la procedura di interruzione e altre funzionalità di protocollo o hardware. La stretta di mano è una tecnica di comunicazione tra due entità. Tuttavia, all'interno delle RFC TCP/IP, il termine "handshake" è più comunemente utilizzato per fare riferimento all'handshake a tre vie TCP. Ad esempio, il termine "handshake" non è presente nelle RFC che coprono FTP o SMTP. Un'eccezione è mwegTransport Layer Security, TLS, setup, FTPcite-ref-1[1]. Al posto del termine "handshake", FTPcite-ref-2[2] sostituisce il termine "conversazione" per il passaggio di comandicite-ref-3[3]cite-ref-4[4].
Un semplice protocollo di handshaking potrebbe coinvolgere solo il destinatario che invia un messaggio che significa "Ho ricevuto il tuo ultimo messaggio e sono pronto a inviarmene un altro". Un protocollo di handshake più complesso potrebbe consentire al mittente di chiedere al destinatario se è pronto a ricevere o che il destinatario risponda con un riconoscimento negativo che significa "Non ho ricevuto correttamente il tuo ultimo messaggio, invialo di nuovo" (ad esempio, se i dati sono stati danneggiati durante il percorso)cite-ref-5[5].
L'handshaking facilita il collegamento di sistemi o apparecchiature relativamente eterogenei su un canale di comunicazione senza la necessità dell'intervento umano per impostare i parametri.
Contents
• Esempio
• SMTP
• Note
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Esempio
Handshake TCP a tre vie
Stabilire una normale connessione TCP richiede tre passaggi separati:
mwmwmwnaIl primo host (Alice) invia al secondo host (Bob) un messaggio di "sincronizzazione" (SYN) con il proprio numero di sequenza , che Bob riceve. mwnqBob risponde con un messaggio di riconoscimento della sincronizzazione (SYN-ACK) con il proprio numero di sequenza e numero di riconoscimento , che Alice riceve. mwngAlice risponde con un messaggio di riconoscimento (ACK) con numero di riconoscimento, che Bob riceve e a cui non ha bisogno di rispondere.
In questa configurazione, i messaggi di sincronizzazione agiscono come richieste di servizio da un server all'altro, mentre i messaggi di riconoscimento ritornano al server richiedente per fargli sapere che il messaggio è stato ricevuto.
Il motivo per cui il client e il server non utilizzano un numero di sequenza predefinito come 0 per stabilire la connessione è la protezione contro due incarnazioni della stessa connessione che riutilizzano lo stesso numero di sequenza troppo presto, il che significa che un segmento di una precedente incarnazione di una connessione potrebbe interferire con una successiva incarnazione della connessione.
SMTP
Il protocollo SMTP ( Simple Mail Transfer Protocol ) è lo standard Internet chiave per la trasmissione di mwowposta elettronica. Esso comprende handshaking per negoziare l'autenticazione, crittografia e la dimensione massima dei messaggi.
Handshake TLS
Quando viene avviata una connessione Transport Layer Security (SSL o TLS), il record incapsula un protocollo di "controllo": il protocollo di messaggistica handshake (tipo di contenuto 22). Questo protocollo viene utilizzato per scambiare tutte le informazioni richieste da entrambe le parti per lo scambio dei dati dell'applicazione effettiva da parte di TLS. Definisce la formattazione dei messaggi o che contengono queste informazioni e l'ordine del loro scambio. Questi possono variare in base alle richieste del client e del server, ovvero esistono diverse procedure possibili per impostare la connessione. Questo scambio iniziale si traduce in una connessione TLS riuscita (entrambe le parti sono pronte a trasferire i dati dell'applicazione con TLS) o in un messaggio di avviso (come specificato di seguito).
Il protocollo viene utilizzato per negoziare gli attributi protetti di una sessionecite-ref-6[6].
WPA2 wireless
Lo standard WPA2 per wireless utilizza un handshake a quattro vie definito in mwrqIEEE 802.11i-2004.
Modem di accesso remoto
Un classico esempio di handshaking è quello dei modem mwsadial-up, che tipicamente negoziano i parametri di comunicazione per un breve periodo quando viene stabilita una connessione per la prima volta, e lì dopo usano quei parametri per fornire un trasferimento ottimale delle informazioni sul canale in funzione della sua qualità e capacità. I rumori di "stridio" (che in realtà è un suono che cambia di tono 100 volte al secondo) prodotti da alcuni modem con uscita altoparlante subito dopo che è stata stabilita una connessione sono infatti i suoni dei modem ad entrambe le estremità impegnati in una procedura di handshaking; una volta completata la procedura, l'altoparlante potrebbe essere tacitato, a seconda delle impostazioni del sistema operativo o dell'applicazione che controlla il modem.
"Handshaking hardware" seriale
Questo termine usato di frequente descrive l'uso di segnali RTS e CTS su un'interconnessione seriale. Tuttavia, non è del tutto corretto; non è una vera forma di stretta di mano ed è meglio descritta come controllo del flusso.
Nelle telecomunicazioni e nei sistemi a microprocessore
Nelle mwtqtelecomunicazioni e nei sistemi a microprocessore, il termine handshaking ha i seguenti significati:
• Il processo adoperato per stabilire i parametri di comunicazione tra due stazioni.
Il protocollo di mwvwtrasmissione parallela mwwahandshake, utilizzato in architetture master-slave, è una variante del protocollo mwwgstrobe. A differenza di quest'ultimo, sono presenti due linee di controllo:
• la linea mwxgREQ, cioè mwxwrequest, che viene trasmessa dal dispositivo mwyamaster quando richiede un'informazione allo mwyqslave;
• la linea mwywACK, cioè mwzaacknowledge, che invece viene trasmessa dallo mwzqslave quando l'informazione richiesta viene posta sul mwzgbus dati.
Un ciclo di handshake funziona quindi in questo modo: il mwaamaster asserisce mwaqREQ per richiedere allo mwagslave un'mwawinformazione. Vedendo asserita la linea mwbaREQ, lo mwbqslave elabora la richiesta ricevuta e, non appena termina il processo, asserisce la linea mwbgACK, e in questa maniera il mwbwmaster sa che il dato sul bus è valido e può campionarlo. Contemporaneamente, il master deasserisce mwcaREQ e allora lo mwcqslave rilascia il controllo del bus.
Note
cite-note-11. ↑ mwea(mweqmwegEN) P. Ford-Hutchinson, mwewmwfaSecuring FTP with TLS, su mwfqtools.ietf.org. mwfgURL consultato il 4 febbraio 2021.
cite-note-22. ↑ mwgg(mwgwmwhaEN) Paul Hethmon, mwhqmwhgExtensions to FTP, su mwhwtools.ietf.org. mwiaURL consultato il 4 febbraio 2021.
cite-note-33. ↑ TCP mwjaRFC 793, 2581
cite-note-44. ↑ SMTP mwkaRFC 821,5321, 2821, 1869,6531, 2822
cite-note-55. ↑ mwlamwlqmwlghandshaking, su mwlwTheFreeDictionary's Encyclopedia.
cite-note-66. ↑ Template:Cite IETF
Bibliografia
• C. Brandolese e W. Fornaciari, mwnwSistemi Embedded, Pearson Prentice Hall, 2007, ISBN 978-88-7192-342-0
Voci correlate
Altri progetti
Altri progetti
• Wikizionario
• Wikizionario contiene il lemma di dizionario «handshake»
Collegamenti esterni
• citereftreccani-itHandshaking, su Treccani.it – Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
• citerefsapere-ithandshake, su sapere.it, De Agostini.
• citereffoldoc(EN) Denis Howe, handshaking, in Free On-line Dictionary of Computing. Disponibile con licenza mwrqGFDL